/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.cf.controller;

/**
 *
 * @author Soltecn2
 */
import com.cf.bean.TbDificultadBean;
import com.cf.dao.TbEjercicioDao;
import com.cf.dao.impl.*;
import com.cf.modelo.*;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

@Component("tbEjercicioController")
@Scope
@ManagedBean
public class TbEjercicioController implements Serializable {

    private static final long serialVersionUID = 1L;
    private EjercicioBean ejercicioBean;
    private List<EjercicioBean> lstEjercicioBean;
    private List<TbDificultadBean>listdificultad;
    private TbEjerciciocf ejercicio;
    private TbDificultadDaoImpl dificultadDaoImpl;
    
    
    
    public List<TbDificultadBean> getListdificultad() {
        
        listdificultad=dificultadDaoImpl.listDificultad();
        return listdificultad;
    }

    public void setListdificultad(List<TbDificultadBean> listdificultad) {
        this.listdificultad = listdificultad;
    }
    private TbEjerciciocfId ejerId;
    private TbEjercicio ejer;
    private TbPlantilla plant;
    private TbEjerciciocfTbPalabra pala;

    private TbDificultadBean dificultadBean;

    public TbDificultadBean getDificultadBean() {
        return dificultadBean;
    }

    public void setDificultadBean(TbDificultadBean dificultadBean) {
        this.dificultadBean = dificultadBean;
    }
    public TbEjerciciocfTbPalabra getPala() {
        return pala;
    }

    public void setPala(TbEjerciciocfTbPalabra pala) {
        this.pala = pala;
    }
    public TbEjerciciocfId getEjerId() {
        return ejerId;
    }

    public void setEjerId(TbEjerciciocfId ejerId) {
        this.ejerId = ejerId;
    }
    private TbTarea tarea;

    public TbEjercicioController() {
        ejercicioBean = new EjercicioBean();
        ejercicio = new TbEjerciciocf();
        ejer = new TbEjercicio();
        plant = new TbPlantilla();
        tarea = new TbTarea();
        ejerId=new TbEjerciciocfId();
        pala=new TbEjerciciocfTbPalabra();
       lstEjercicioBean=new ArrayList<EjercicioBean>();
       dificultadBean=new TbDificultadBean();
       dificultadDaoImpl=new TbDificultadDaoImpl();
       listdificultad=new ArrayList<TbDificultadBean>();
    }

    public TbPlantilla getPlant() {
    
        return plant;
    }

    public void setPlant(TbPlantilla plant) {
        this.plant = plant;
    }

    public TbTarea getTarea() {
     
        return tarea;
    }

    public void setTarea(TbTarea tarea) {
        this.tarea = tarea;
    }

    public TbEjercicio getEjer() {
        return ejer;
    }

    public void setEjer(TbEjercicio ejer) {
        this.ejer = ejer;
    }

    public TbEjerciciocf getEjercicio() {
        return ejercicio;
    }

    public void setEjercicio(TbEjerciciocf ejercicio) {
        this.ejercicio = ejercicio;
    }

    public String redireccionar() {
        String url = "wFrmEjercicioCFActualizar.jsf";
        return url;
    }

    public void Save() {

          
      TbEjercicioDaoImpl.Save(ejercicio);
 
    }
    
    public void guardar() {
        ejerId.setTbEjercicioCodigo(ejer.getCodigo());
      ejercicio.setId(ejerId);
      ejercicio.setTbEjercicio(ejer);
      ejercicio.setTbPlantilla(plant);
      ejercicio.setTbTarea(tarea);
        System.out.println("<---------------Seteo ejercicio --------->");
        System.out.println("Cod: " + ejerId.getCodigo()+"   EjerCod: "+ejerId.getTbEjercicioCodigo());
        System.out.println("Ejercicio: " + ejer.getCodigo());
        System.out.println("Tarea: " + tarea.getCodigo());
        System.out.println("Plantilla: " + plant.getCodigo());
        System.out.println("<---------------------------------------->");
      
      
      TbEjercicioDaoImpl.Save(ejercicio);
     
    }

    public List<EjercicioBean> getLstEjercicioBean() {
        lstEjercicioBean = TbEjercicioDaoImpl.listEjercicio("sa");
        return lstEjercicioBean;
    }

    public void setLstEjercicioBean(List<EjercicioBean> lstEjercicioBean) {
        this.lstEjercicioBean = lstEjercicioBean;
    }

    public EjercicioBean getEjercicioBean() {
        return ejercicioBean;
    }

    public void setEjercicioBean(EjercicioBean ejercicioBean) {
        this.ejercicioBean = ejercicioBean;
    }
    
    
    
    
    public void destroyWorld(ActionEvent actionEvent){  
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "System Error",  "Please try again later.");  
        FacesContext.getCurrentInstance().addMessage(null, message);  
        this.eliminar();
        
                
    }  
    public void eliminar(){
        FacesContext fc = FacesContext.getCurrentInstance();
        Map<String, String> params =
                fc.getExternalContext().getRequestParameterMap();
        int codID = Integer.parseInt(params.get("codId"));
        int codEjer = Integer.parseInt(params.get("codEjer"));
        
        TbPalabraDao palabradao=new TbPalabraDao();
        int resul=0;
       
        resul=palabradao.eliminar2(codEjer);
        
        if (resul==0) {
            System.out.println("error el eliminar" );
        }else{
            System.out.println("Se elimino correctamente" );
        }
       
    }
    
}
